package br.edu.fucapi.posgraduacao.poo2.sgr.controller.impl;

import java.io.Serializable;
import java.util.List;
import javax.inject.Inject;
import br.edu.fucapi.posgraduacao.poo2.sgr.controller.PerfilController;
import br.edu.fucapi.posgraduacao.poo2.sgr.dao.DAO;
import br.edu.fucapi.posgraduacao.poo2.sgr.model.Perfil;

/**
 * @class Perfil.java
 * @author Fabio Oliveira
 * @date 11/01/2013
 * @brief Classe utilizada para Controle das Operações dos Perfis.
 */

public class PerfilControllerImpl implements PerfilController {

	@Inject
	private transient DAO<Perfil, Serializable> dao;
	
	public void salvar(Perfil perfil) throws RuntimeException {
		dao.save(perfil);
	}

	public void remover(Perfil perfil) throws RuntimeException {
		dao.remove(perfil);
	}

	public void atualizar(Perfil perfil) throws RuntimeException {
		dao.update(perfil);
	}

	public List<Perfil> pesquisar(Perfil perfil) throws RuntimeException {		
		return dao.find(perfil);
	}

	public Perfil consultarPorExemplo(Perfil perfil) throws RuntimeException {	
		return dao.findByExemplo(perfil);
	}
	
	public List<Perfil> listarTodos() throws RuntimeException {		
		return dao.findAll(Perfil.class);
	}

}
